package edu.istu.asu07_1.live.model.agents;

import javax.swing.ImageIcon;

import edu.istu.asu07_1.live.configs.Constants;
import edu.istu.asu07_1.live.model.Model;
import edu.istu.asu07_1.live.model.agents.controller.NeuralController;

public class Predator extends Agent{

	public Predator(int xCoord, int yCoord, int moveDirection, int energy, int generation, NeuralController controller, Model model) {
		super(xCoord, yCoord, moveDirection, energy, generation, controller, model);
		init();
	}

	public Predator(Agent a){
		super(a);
	}

	private void init(){
		nordIcon = new ImageIcon("img/predator/predator_nord.png");
		westIcon = new ImageIcon("img/predator/predator_west.png");
		southIcon = new ImageIcon("img/predator/predator_south.png");
		eastIcon = new ImageIcon("img/predator/predator_east.png");
	}

	@Override
	protected Agent doChild() {
		return new Predator(xCoord, yCoord, rnd.nextInt(3), energy, generation+1, controller.getMutateController(), model);
	}

	@Override
	protected int getEnergyDecrement() {
		return Constants.PREDATOR_ENERGY_DECRIMENT;
	}

	@Override
	protected int getFeelArea() {
		return Constants.PREDATOR_FEEL_AREA;
	}

	@Override
	protected int getNearArea() {
		return Constants.PREDATOR_NEAR_AREA;
	}

	@Override
	protected Class getFoodClass() {
		return Herbivore.class;
	}


}
